Currently, a variety of file compression programs exist for reducing the amount of storage space required to store data. However, none of these programs provide a way to efficiently persist a compressed data stream comprising event records in a manner that allows any of the event records to be addressed and randomly read in an efficient manner; that is, without requiring decompression of all of the preceding records. The real time data rate of the uncompressed records could be very high and constant or very slow and sporadic with no way to predict when the next record will arrive. It will be recognized that the records should also be persisted in a way that minimizes data loss and corruption in the event of program or system failure without the significant overhead required to perform an fsync operation usually associated with transactional integrity.